#region Includes

using System.Threading;
using WaveTech.GShield.Engine.Watchers;

#endregion

namespace ServiceTestHarness
{
	public class Controller
	{
		private BannedWatcher bannedWatcher;
		private RatingsWatcher ratingsWatcher;
		private UsageWatcher usageWatcher;

		public void PreFlight()
		{
			ratingsWatcher = new RatingsWatcher();
			usageWatcher = new UsageWatcher();
		}

		public void Start()
		{
			if (ratingsWatcher != null)
			{
				ratingsWatcher.Start();
			}
			else
			{
				ratingsWatcher = new RatingsWatcher();
				ratingsWatcher.Start();
			}

			Thread.Sleep(60000);

			if (usageWatcher != null)
			{
				usageWatcher.Start();
			}
			else
			{
				usageWatcher = new UsageWatcher();
				usageWatcher.Start();
			}

			Thread.Sleep(60000);

			if (bannedWatcher != null)
			{
				bannedWatcher.Start();
			}
			else
			{
				bannedWatcher = new BannedWatcher();
				bannedWatcher.Start();
			}
		}

		public void Stop()
		{
		}
	}
}